package top.bfylu.command.simpleremote;

import org.junit.Test;

/**
 * 包名: top.bfylu.command.simpleremote
 * 创建时间: 2022/1/29
 *
 * @author bfy
 * @version 1.0.0
 * <p>
 * 描述: 遥控器使用的简单测试
 * @Email bfyjian@gmail.com
 **/
public class RemoteControlTest {
    public static void main(String[] args) {
        //遥控器就是调用者，会传入一个命令对象，可以用来发出请求
        SimpleRemoteControl remote = new SimpleRemoteControl();
        //现在创建了一个电灯对象，此对象也就是请求的接收者。
        Light light = new Light();
        //在这里创建一个命令，然后将接收者传给它
        LightOnCommand lightOn = new LightOnCommand(light);
        //把命令传给调用者
        remote.setCommand(lightOn);
        //然后模拟按下按钮
        remote.buttonWasPressed();
    }

    @Test
    public void garageOpenTest() {
        SimpleRemoteControl remote = new SimpleRemoteControl();
        GarageDoor garageDoor = new GarageDoor();
        GarageDoorOpenCommand garageOpen = new GarageDoorOpenCommand(garageDoor);

        remote.setCommand(garageOpen);
        remote.buttonWasPressed();
    }


}
